Houdiniメモ : 検証 : Wrangle : @opinputで別インプット取得
環境
検証1 : Cdアトリビュートのコピー
■検証に使用するネットワーク
以下のようなネットワークを組みます。
https://gyazo.com/9e6451b223555a5b1dcee93ad38b0848
■OUT_Pointsの詳細
Gridに、RGB = {0, 1, 0}の緑色を設定しています。(@Cd = {0, 1, 0})
https://gyazo.com/aab6621327bcdf42275b092e4437d7c0
■OUT_Curveの詳細
Curveノードで作成したポリゴンに、RGB = {1, 0, 0}を設定しています。 (@Cd = {1, 0, 0})
https://gyazo.com/b7cdf9a49690a4106fcb1d876e8e8ebb
■AttributeWrangleの設定
AttributeWrangleに以下のようなVEXを記述してみます。
第2インプットのアトリビュートCdを自分自身が持つCdアトリビュートへコピーするようなVEXコードです。
code:AttributeWrangle(c)
@Cd = @opinput1_Cd;
AttributeWrangleは以下のようになります。 Run Over = Points に設定しておきます。
https://gyazo.com/8b8f853f865a5e9659e781cdf0629f4b
■結果(Sceneビュー)
https://gyazo.com/d2ecb67685a3f47a8e984281e4dad1ce
■結果(Geometry Spreadsheet)
Geometry SpreadSheetでアトリビュートの値を確認すると以下のようになっています。
https://gyazo.com/975411aef8e5d8cc74818514d418d6d3
@opinput1_Cd(第2インプットのCdアトリビュート)をコピーする際、
第2インプットにポイントが存在しない場合は @opinput1_Cd は {0, 0, 0} の値が返すようです。
検証2 : Cdアトリビュートのコピー
■検証に使用するネットワーク
以下のようなネットワークを組みます。
https://gyazo.com/058027e225da0153329a3a3dbc290434
■OUT_Pointsの詳細
Grid状に点を散布し、RGB = {0, 1, 0}の緑色を設定しています。(@Cd = {0, 1, 0})
https://gyazo.com/39f690a0c9769b7a5f96cbfe60ac30ef
■OUT_Curveの詳細
Curveノードで作成したポリゴンに、RGB = {1, 0, 0}を設定しています。 (@Cd = {1, 0, 0})
https://gyazo.com/a6671041a4951088faca886512d5296b
■AttributeWrangleの設定
AttributeWrangleに以下のようなVEXを記述してみます。
第2インプットのアトリビュートCdを自分自身が持つCdアトリビュートへコピーするようなVEXコードです。
code:AttributeWrangle(c)
@Cd = @opinput1_Cd;
AttributeWrangleは以下のようになります。 Run Over = Points に設定しておきます。
https://gyazo.com/8b8f853f865a5e9659e781cdf0629f4b
■結果(Sceneビュー)
5つのポイントは赤くなり、他は黒くなりました。
https://gyazo.com/254a44aaeb43fb5a1b1f1670e13e84cc
https://gyazo.com/9821f6d73c1b36fa52f7a2c6448b06fb
■結果(Geometry Spreadsheet)
最初の5つのポイントは@Cd={1, 0, 0}が設定されており、他は@Cd = {0, 0, 0}が設定されています。
https://gyazo.com/e8907b6217c653f2a3e4789b52d3add5
@opinput1_Cd(第2インプットのCdアトリビュート)をコピーする際、
第2インプットにポイントが存在しない場合は @opinput1_Cd は {0, 0, 0} の値が返すようです。
参考URL
Wrangleで他のインプットのデータの読み方 | インディゾーンHoudini情報日本語ブログ